/* 
commonJS: 
  关键字: module exports require()
  整个模块向外暴露的是: module.exports, 它的默认值是一个空对象
  同时内部定义了一个变量exports, 值为module.exports, 方便向默认的模块对象中添加属性/方法
  一旦给module.exports指定新的值(不一定是对象), 前面通过exports添加的属性/方法就不在了
*/

// module.exports与exports都是指向暴露的模块对象(默认是空对象)
console.log(module.exports===exports, exports)
module.exports.xxx = 1
exports.yyy = 2
module.exports = {m: 1} // 指定一个新的模块值
exports.zzz = 4
exports = {m: 2}

// exports.xxx = 2
// exports.yyy = 3

// module.exports = 4